System and method for simulating virtual queuing of calls

ABSTRACT

The present method and system provides for call center simulation including receiving a plurality of input parameters relating to call center operations, wherein the call center operations include a main queue for processing on-hold calls and a virtual queue for processing a plurality of call back requests. The method and system further includes generating a call arrival dataset based at least on the plurality of input parameters and simulating call center operations for managing the call arrival dataset across the time sequence, including placing a portion of the call arrival dataset into the virtual queue. The method and system includes simulating a metering of the call arrival dataset in the virtual queue for a metered wait time based at least on a queuing factor and generating a simulation output indicating operations processed via the main queue and the virtual queue.

RELATED APPLICATIONS

The present application is a continuation of U.S. patent applicationSer. No. 13/908,273 filed on Jun. 6, 2013, entitled “SYSTEM AND METHODFOR SIMULATNG VIRTUAL QUEUEING OF CALLS” which is a continuation-in-partand claims priority to U.S. patent application Ser. No. 13/908,234 filedon Jun. 3, 2013 entitled “SYSTEM AND METHOD FOR VIRTUAL QUEUING OFCALLS,” which relates to and claims priority to U.S. Provisional PatentApplication Ser. No. 61/654,588 entitled “METHOD AND SYSTEM FOR VIRTUALQUEUING OF CALLS” filed Jun. 1, 2012.

COPYRIGHT NOTICE

A portion of the disclosure of this patent document contains material,which is subject to copyright protection. The copyright owner has noobjection to the facsimile reproduction by anyone of the patent documentor the patent disclosure, as it appears in the Patent and TrademarkOffice patent files or records, but otherwise reserves all copyrightrights whatsoever.

BACKGROUND

The present invention relates generally to call center managementoperations and more specifically to simulation operations relating tocall center operations, where the simulations account for a virtualqueuing of customer calls.

Call centers receive calls from numerous customers. The high volume ofcalls often necessitates the use of call queues in which the customersmust wait until an agent of the call center is available to assist thecaller. However, in call systems utilizing virtual queuing, a customermay opt to receive a call back from an agent of the call center insteadof waiting on the phone. If so, the call remains in the queue of thecall center, but the customer may disconnect from the call. When thecustomer's call reaches the head of the queue, the call center calls thecustomer back and connects the customer to an agent. As such, in typicalvirtual queuing systems, each call is queued either normally (i.e., thecustomer waits on the line) or virtually (i.e., the customer is calledback). Such functionality occurs completely within the call center andmay require additional devices, components, software, and structure toprovide the virtual queuing functionality.

Customer service interactions and call center activities are major costfactors for companies. These call centers are both essential to managingcustomers, but also relate directly to customer relations andsatisfaction. Call centers themselves seek operation as maximumefficiency for not only solving the concerns of the customer, but alsofor managing staffing of service agents. A company seeks to find aneconomic medium between the staffing of call centers and managingcustomer expectations for service operations.

Staffing analytics and call management systems seek to optimize thestaffing requirements of call centers, but these existing systems failto account for virtual queuing techniques. Thus, a call center thatutilizes a virtual queue or seeks to understand operational optimizationwith a virtual queue cannot use the existing simulation or optimizationsoftware. These call centers are then unable to better approximate orestimate the staffing requirements throughout various time intervals.

Therefore, there exists a need for workforce management and planningsystems to be able to account for virtual queuing and incorporate theeffects of virtual queuing in the software simulation operations.

BRIEF DESCRIPTION

The present method and system provides for call center simulation. Themethod and system includes receiving a plurality of input parametersrelating to call center operations, wherein the call center operationsinclude a main queue for processing on-hold calls and a virtual queuefor processing a plurality of call back requests. The method and systemfurther includes generating a call arrival dataset based at least on theplurality of input parameters, the call arrival dataset representingplurality of customer calls across a time sequence and simulating callcenter operations for managing the call arrival dataset across the timesequence, including placing a portion of the call arrival dataset intothe virtual queue. Therein, the method and system further includessimulating a metering of the call arrival dataset in the virtual queuefor a metered wait time based at least on a queuing factor andgenerating a simulation output indicating the call center operationsapplicable to the call arrival dataset processed via the main queue andthe virtual queue.

Thereby, the present method and system operates to run a call centersimulation accounting for a virtual queue. Prior techniques failed toinclude virtual queuing, thus were unable to account for callbackrequests from customers.

In one embodiment, the input parameters can include one or more of: anumber of call center agents; a number of calls; an average handle time;and a duration of simulation parameter. Moreover, during the simulation,a user may adjust one or more of the input parameters and thereby thesimulation is accordingly modified.

Another embodiment of the virtual queue can include a virtual queueselection factor for determining the plurality of call back requests.The virtual queue selection indicates a simulation of the number ofcustomers that would elect to use the callback features, compared withother customers who remain in an on-hold status until a customer agentbecomes available. Moreover, in one embodiment, the user may adjustvirtual queue selection factor to increase or decrease the number ofusers electing to use the virtual queue, wherein the simulation isadjusted accordingly.

Another embodiment of the present method and system accounts for thetime distribution of the dataset. While the dataset represents a numberof calls over the time period, those calls are distributed in adistribution pattern to better represent actual call volumes over a timeperiod.

Another embodiment of the simulation includes the generation of outputstatistics for one or more call center metrics based on the simulatingof call center operations. Wherein, the output may further include agraphical representation of operations of the call center includinggraphical representations of main queue processing, virtual queueprocessing and call center agent engagement activities.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention described herein is illustrated by way of example and notby way of limitation in the accompanying figures. For simplicity andclarity of illustration, elements illustrated in the figures are notnecessarily drawn to scale. For example, the dimensions of some elementsmay be exaggerated relative to other elements for clarity. Further,where considered appropriate, reference labels have been repeated amongthe figures to indicate corresponding or analogous elements.

FIG. 1 is a simplified block diagram of at least one embodiment of atelecommunications system for providing virtual queuing;

FIG. 2 is a simplified flow diagram of one method for providing virtualqueuing that may be executed by a virtual queuing system of the systemof FIG. 1;

FIG. 3 is a flowchart of the steps of one embodiment of a method forcall center simulation;

FIG. 4 is a sample screenshot of one embodiment of an input factor inputscreen for the simulator;

FIG. 5 is a sample screenshot of one embodiment of the real timestatistics and queue visualization of an executing simulation;

FIG. 6 is a sample screenshot of a graphical representation of the callcenter operations occurring over the time period;

FIG. 7 is a simplified block diagram of another embodiment of atelecommunications system for providing virtual queuing;

FIG. 8 is a simplified flow diagram of one method for providing virtualqueuing that may be executed by a virtual queuing system of the systemof FIG. 7;

FIG. 9 is a simplified block diagram of another embodiment of atelecommunications system for providing virtual queuing;

FIG. 10 is a simplified flow diagram of one method for providing virtualqueuing that may be executed by a virtual queuing system of the systemof FIG. 9;

FIG. 11 is a simplified block diagram of another embodiment of atelecommunications system for providing virtual queuing;

FIG. 12 is a simplified flow diagram of one method for providing virtualqueuing that may be executed by a virtual queuing system of the systemof FIG. 11;

FIG. 13 is a simplified block diagram of another embodiment of atelecommunications system for providing virtual queuing;

FIG. 14 is a simplified flow diagram of one method for providing virtualqueuing that may be executed by a virtual queuing system of the systemof FIG. 9;

FIG. 15 is a simplified block diagram of another embodiment of atelecommunications system for providing virtual queuing; and

FIG. 16 is a simplified flow diagram of one method for providing virtualqueuing that may be executed by a virtual queuing system of the systemof FIG. 15.

DETAILED DESCRIPTION

While the concepts of the present disclosure are susceptible to variousmodifications and alternative forms, specific exemplary embodimentsthereof have been shown by way of example in the drawings and willherein be described in detail. It should be understood, however, thatthere is no intent to limit the concepts of the present disclosure tothe particular forms disclosed, but on the contrary, the intention is tocover all modifications, equivalents, and alternatives consistent withthe present disclosure and the appended claims.

References in the specification to “one embodiment,” “an embodiment,”“an example embodiment,” etc., indicate that the embodiment describedmay include a particular feature, structure, or characteristic, butevery embodiment may not necessarily include the particular feature,structure, or characteristic. Moreover, such phrases are not necessarilyreferring to the same embodiment. Further, when a particular feature,structure, or characteristic is described in connection with anembodiment, it is submitted that it is within the knowledge of oneskilled in the art to effect such feature, structure, or characteristicin connection with other embodiments whether or not explicitlydescribed.

Embodiments of the invention may be implemented in hardware, firmware,software, or any combination thereof. Embodiments of the inventionimplemented in a computer system may include one or more bus-basedinterconnects between components and/or one or more point-to-pointinterconnects between components. Embodiments of the invention may alsobe implemented as instructions carried by or stored on a non-transitorymachine-readable (e.g., computer-readable) medium, which may be read andexecuted by one or more processors. A machine-readable medium may beembodied as any device, mechanism, or physical structure for storing ortransmitting information in a form readable by a machine (e.g., acomputing device). For example, a machine-readable medium may beembodied as read only memory (ROM); random access memory (RAM); magneticdisk storage media; optical storage media; flash memory devices; mini-or micro-SD cards, memory sticks, and others.

In the drawings, specific arrangements or orderings of schematicelements, such as those representing devices, modules, instructionblocks and data elements, may be shown for ease of description. However,it should be understood by those skilled in the art that the specificordering or arrangement of the schematic elements in the drawings is notmeant to imply that a particular order or sequence of processing, orseparation of processes, is required. Further, the inclusion of aschematic element in a drawing is not meant to imply that such elementis required in all embodiments or that the features represented by suchelement may not be included in or combined with other elements in someembodiments.

In general, schematic elements used to represent instruction blocks maybe implemented using any suitable form of machine-readable instruction,such as software or firmware applications, programs, functions, modules,routines, processes, procedures, plug-ins, applets, widgets, codefragments and/or others, and that each such instruction may beimplemented using any suitable programming language, library,application programming interface (API), and/or other softwaredevelopment tools. For example, some embodiments may be implementedusing Java, C++, and/or other programming languages. Similarly,schematic elements used to represent data or information may beimplemented using any suitable electronic arrangement or structure, suchas a register, data store, table, record, array, index, hash, map, tree,list, graph, file (of any file type), folder, directory, database,and/or others.

Further, in the drawings, where connecting elements, such as solid ordashed lines or arrows, are used to illustrate a connection,relationship or association between or among two or more other schematicelements, the absence of any such connecting elements is not meant toimply that no connection, relationship or association can exist. Inother words, some connections, relationships or associations betweenelements may not be shown in the drawings so as not to obscure thedisclosure. In addition, for ease of illustration, a single connectingelement may be used to represent multiple connections, relationships orassociations between elements. For example, where a connecting elementrepresents a communication of signals, data or instructions, it shouldbe understood by those skilled in the art that such element mayrepresent one or multiple signal paths (e.g., a bus), as may be needed,to effect the communication.

Several embodiments of a virtual queuing system and associatedtelecommunications system for providing virtual queuing are presented inthe figures and discussed in detail below. Each of the virtual queuingsystem embodiments provides the service of virtual queuing for a callcenter. Wherein, the simulation operations are conducted based on thesimulated operations of the virtual queue system described herein.

Referring now to FIG. 1, in one embodiment, a telecommunications system100 includes one or more customer communication devices 102, a virtualqueuing system 104, and a call center 106. The customer communicationdevice 102 may be embodied as any type of communication or computingdevice capable of communicating with the virtual queuing system 104 overa network 110 in a manner as discussed in more detail below. Forexample, the customer communication device 102 may be embodied as a landbased phone, a cellular-based phone, a smart phone, a portable computingdevice, a lap top computer, a tablet computer, a desktop computer, apersonal computer, a personal digital assistant, a smart television, avehicle in-dash control or communication system, or other appliance, orother electronic communication device capable of communicating with thevirtual queuing system 104 over the network 110.

The network 110 may be embodied as any type of network capable ofsupporting communications between the customer communication device 102and the virtual queuing system 104. For example, the network 110 may beembodied as, or otherwise include, a telecommunications network, aland-based telephone network, a cellular phone network, asatellite-based network, a data network, a global publically-accessiblenetwork such as the Internet, and/or a combination thereof.Additionally, the network 110 may include various devices, such asrouters, switches, hubs, and the like, to facilitate the communicationsbetween the customer communication device 102 and the virtual queuingsystem 104.

The virtual queuing system 104 may be embodied as, or otherwise include,one or more communication or data servers and/or telecommunicationsubsystems capable of performing the functions described herein. In theillustrative embodiment, the virtual queuing system 104 includes a shortmessage system (SMS) interface 120 to receive SMS messages, a web ornetwork interface 122 to receive web-based communications, and/or one ormore additional interfaces 124. As discussed in more detail below, thevirtual queuing system 104 is configured to receive a communicationrequest from the user using the customer communication device 102 and/orthe customer computing device 108 via one of the interfaces 120, 122,124. For example, in embodiments in which the customer communicationdevice 102 is embodied as a smart phone or other communication devicecapable of generating SMS messages, the virtual queuing system 104 mayreceive such SMS messages from the customer communication device 102over the network 110 via the SMS interface 120. Alternatively, inembodiments in which the customer communication device 102 is embodiedas a computing device such as a tablet or desktop computer, the virtualqueuing system 104 may receive web-based communication requests (e.g.,data supplied to a web-based form, e-mails, or other web-basedcommunications) from the customer communication device 102 over thenetwork 110 via the web interface 120. In such embodiments, the webinterface 120 may be embodied as a web portal accessible by the customercommunication device 102 to supply data to the virtual queuing system asdiscussed below. The virtual queuing system 104 also maintains a virtualqueue 150 of calls received from the customers, which are subsequentlysubmitted to the call center for handling based on the particularimplementation of the virtual queuing system 104. The communicationrequest is a request for communication with a communication agentlocated in the call center.

The call center 106 may be embodied as any type of call center and mayinclude one or more computers, data servers, telecommunicationsubsystems, and/or other telephony communication-enabling devices. Insome embodiments, the call center 106 may include those structures foundin a typical call center. In the illustrative embodiment of FIG. 1, thecall center 106 includes a standard dialed number identification service(DNIS) 120 to receive calls made directly to the call center 106 (e.g.,directly from the customer communication device 102), an alternate DNIS122 to receive calls and/or other communications directly from thevirtual queuing system 104 over a network 112, and/or a sessioninitiation protocol (SIP) address 124 to receive communications directlyfrom the virtual queuing system 104 over the network 112.

Similar to the network 110, the network 112 may be embodied as any typeof network capable of supporting communications between the virtualqueuing system 104 and the call center 106. For example, the network 112may be embodied as, or otherwise include, a telecommunications network,a land-based telephone network, a cellular phone network, a datanetwork, a global publically-accessible network such as the Internet,and/or a combination thereof. Additionally, the network 112 may includevarious devices, such as routers, switches, hubs, and the like, tofacilitate the communications between the virtual queuing system 104 andthe call center 106.

In use, a customer may request virtual queuing (i.e., a call back fromthe call center 106) by submitting a call back request directly to thevirtual queuing system 104. The callback request allows the user toavoid the on hold wait time. To do so, the customer may operate thecustomer communication device 102 to request the call back from andprovide associated information to the virtual queuing system bysubmitting a SMS message to the SMS interface 120 of the virtual queuingsystem and/or by submitting a web-based request to the web interface122. In response, the virtual queuing system 104 is configured tocontact the call center 106 to submit the customer's information to thecall center 106 and subsequently call the customer back when an agent ofthe call center 106 is available. The virtual call center meters thewait time, as described in greater detail below, prior to the call backoperation. In this way, the customer may request virtual queuing (i.e.,request a call back) without directly accessing the call center 106.

Referring now to FIG. 2, in operation, the virtual queuing system 104may execute a method 200 for providing virtual queuing. The illustrativemethod 200 begins with block 202 in which the virtual queuing system 104receives a call back request from the user. As noted above, the usersubmits a communication request for communication with a communicationagent of the call center. As discussed above, the virtual queuing system104 may receive the call back request as a SMS message from the customercommunication device 102 via the SMS interface 120 (e.g., a customer maytext a call back number), as a web-based request from the customercommunication device 102 via the web interface 122, or as another typeof call back request from the customer communication device 102 via theadditional interface 124. It is noted that in some embodiments, thecommunication request and the call back request may be supplied withinthe same communication, for example in the embodiment wherein the usersends a direct call back request message via a messaging or othercommunication system. Whereas, in further embodiments, the user mayfirst engage the call center and then seek a call back request, wherethe communication request provides for the initial contact with the callcenter and the call back request engages the virtual queuing systemdescribed herein.

In block 204, the virtual queuing system 104 receives or otherwiseretrieves customer information. Such customer information may include,for example, the customer's name, preferred callback phone number,desired callback time, customer ID, order ID, customer record number,summary of the customer's question, product information related to thecustomer's question or issue, and/or other information related to thecustomer's call. In some embodiments, some of the customer informationmay be stored in the virtual queuing system 104 and/or the call center106. For example, in some embodiments, the customer's name andassociated information may be stored in the virtual queuing system 104in association with the customer's contact information such that thecustomer's identification may be automatically retrieved and/orpopulated without the need of the customer supplying such information.

When the user requests the call back operation, the user's communicationis then placed in the virtual queuing system 104.

In block 206, the virtual queuing system 104 meters the placement of acall into the call center 106. The virtual queuing system 104 may meterthe communication request to the call center 106 as a function ofvarious criteria. For example, in one embodiment, the virtual queuingsystem 104 meters the call based on an estimated on-hold wait time(EWT), which is the estimated time until an agent of the call center 106answers the customer's call. Additionally, in some embodiments, thevirtual queuing system 104 may meter the call based on a predefined orreference patience factor, which is defined as the amount of time anaverage customer would rather wait to receive a call relative to thecurrent estimated wait time. For example, if the EWT is 5 minutes, theaverage customer may be willing to wait 10, 12, or 15 minutes for a callback rather than wait on line. In one particular embodiment, thepatience factor is selected to be a number in the range of 2.5 to 3, butmay have other values in other embodiments. In this way, telco cost andcapacity savings may be realized by the system 100 by delivering callsto agents of the call center 106 at the same rate at which the calls canbe answered. It should be appreciated that such call metering techniquesmay include the appropriate configuration by the call center 106 for the“skill groups” at which the call center 106 is receiving metered calls.For example, the call-metered “skill groups” may require a higherpriority setting to ensure that the call-metered calls “trump” thenormally queued calls. Other embodiments may include an appropriate“percent allocation” setting across skill groups of the call center 106to ensure the call-metered calls are allocated to agents. In anotherembodiment, the metering may be based on user information, including butnot limited to information relating to a status or class of user. Forexample, priority users or members may be given a quicker meteringwithin the priority queue, such as the example of the call centerproviding customer service for an airline and if the user informationincludes a frequent flyer number, the user may be given prioritizedvirtual queue metering.

After expiration of the metered wait time in block 206, the virtualqueuing system 104 places a call into the call center 106 over thenetwork 112 in block 208. To do so, the virtual queuing system 104 mayplace the call into a private or special purpose DNIS (i.e., thealternate DNIS 132). In some embodiments, such a call into the alternateDNIS 132 may be a local call or otherwise generate a charge less thanthe charge for the customer to call the standard DNIS 130. Additionallyor alternatively, the virtual queuing system 104 may place the call intothe call center 106 using the SIP address 134 rather than a DirectInward Dialing (DID) number of the call center.

In some embodiments, the virtual queuing system 104 may submit thecustomer information to the call center 106 in block 210. Such customerinformation may be provided to the call center 106 via an audio whisperor in a data header depending on the type of communication establishedbetween the virtual queuing system 104 and the call center 106. Once acall is placed to the call center 106, the virtual queuing system 104waits for an agent of the call center 106 to be available to accept thecustomer's call in block 212. In this way, the virtual queuing system104 acts as a proxy for the customer by waiting in the queue of the callcenter 106.

In some embodiments, the agent may provide confirmation to the virtualqueuing system 104 that he/she is ready to accept the call. For example,the agent may be presented with the associated customer information viaa screen pop-up or other data screen via computer-telephony integration(CTI) or hear the customer information via an audio whisper. The callcenter agent may confirm readiness for the call by signaling (e.g., bypressing a respective digit or key on an agent keypad or softphone) tothe virtual queuing system 104.

Once an agent of the call center 106 becomes available, the virtualqueuing system 104 calls the customer back at the provided call backnumber in block 214. In some embodiments, if the customer is notavailable, the virtual queuing system 104 may reattempt the call apredetermined number of times. Additionally, if a customer's voicemailis received, the virtual queuing system 104 may be configured togenerate a “canned” or otherwise pre-recorded voicemail. In someembodiments, the placement of the pre-recorded voicemail may beinitiated in response to a command (e.g., a specific key or sequence ofkeys) provided by the agent. The call center agent may then disconnectto move to the next call while the virtual queuing system places thepre-recorded voicemail. In other embodiments, the pre-recorded voicemailis placed without interaction from the agent.

If the customer is determined to be available in block 216 (i.e., thecustomer answers the call back call), the virtual queuing system 104bridges the call center agent and the customer in block 218. In someembodiments, the virtual queuing system 104 may playa pre-recorded audiointroduction that is customized for a particular call center prior toconnecting the customer to the call center agent. In this way, a singlevirtual queuing system 104 may manage and facilitate multiple callcenters, which may be established by different companies.

As discussed above, the customer may reengage the virtual queue at anytime during the call back call. For example, if the customer is put onhold of an extended period of time, the customer may opt to receiveanother call back when the agent has completed whatever task has theagent occupied at that time. To do so, the customer may select apre-defined key or sequence of keys to opt into the virtual queue. Insuch embodiments, the call back call may be routed to the same call backagent when appropriate. Additionally, in some embodiments, the virtualqueuing system 104 may provide for dropped call callbacks. For example,if the customer's signal goes bad or suddenly drops, the call centeragent may select a predefined key or sequence of keys to automaticallyredial the customer. In this way, the agent need not research thecustomer contact information to reengage the customer.

Simulation operations now account for the virtual queue, as well asstandard on-hold queue processing for call center operations. FIG. 3illustrates a flowchart of one embodiment of a method for call centersimulation. The present methodology may further be incorporated andexecuted using a processing device in response to executableinstructions. For example, the simulation operations may be softwareviewable through a browser or any other type of display interface.

In the illustrated embodiment, step 250 of a call center simulation isthe receiving of any number of input parameters relating to call centeroperations, where the call center operations include both on-holdprocessing and virtual queue processing. Various embodiments provide fora variety of input parameters, such as but not limited to, the number ofcall center agents at one or more time periods, the number of callsbeing processed by the call center, an average call handle timerepresenting the average time it takes for the agent to handle the call,and a duration of simulation. It is recognized by one skilled in the artthat additional input parameters may be utilized and the above list isexemplary and not limiting in nature.

FIG. 5 illustrates a sample screenshot of multiple data entry fields forthe call center simulation. In the illustrated example, the parametersinclude an average staffing level of 100 agents, a rate of 20,000 callsper day, an average handle time of 150 seconds, a selection of 30 minuteintervals, a target answer time in 60 seconds and a target service levelof 80 percent. Wherein, the screenshot illustrates that these factorscan be adjusted by the user for adjusting the simulation parameters.

Also visible in the screenshot is the additional factors relating to thevirtual queuing and account for the virtual queuing in the simulation.These factors include variables to increase agent count, offer callbackat an estimated wait time, a callback acceptance percentage, and apre-queue duration. As used herein, the callback acceptance percentageis also referred to as a virtual queue selection factor when executingthe simulation as described below. In running the simulation the usermay also apply a patience factor, where the patience factor may be afactor applicable to determining the virtual queue metering based on alevel of patience a call has for receiving a callback, versus having towait directly on-hold.

Referring back to FIG. 3, step 252 is generating a call arrival datasetbased on one or more of the input parameters, the call arrival datasetrepresents customer calls across a time sequence. The dataset itself isalso distributed across the time sequence using any number ofdistribution techniques. For example, one embodiment may use a pseudoPoisson's distribution for adjusting the dataset across the timesequence. Additionally, a user may further adjust the time distributionfor either including peaks and valleys or smoothing out the calldistribution.

The call arrival dataset may be generated based on a call center'sexisting operational records. For example, a call center may havetracking information for their call center over a defined period oftime, and that data can then used as the base data for the call arrivaldata. Therefore, the simulation can illustrate the benefits of thevirtual queue to an existing call center using the call center's ownhistorical data.

The value of the simulation is based in large part on the dataset beingsimulated, therefore it can be beneficial to include modifications tothe dataset distribution to account for normal variations, for examplean increase in the number of calls during break times for typical workdays. In this example, there may be a high volume call time aroundtwelve/noon as customers and there may be a low call volume time in theearly afternoon, therefore the dataset distribution can be adjusted toreflect these variations.

In the flowchart of FIG. 3, step 254 is simulating the call centeroperations for managing the call arrival dataset across the timesequence, including placing a portion of the call arrival dataset intothe virtual queue. Where prior simulation techniques focused exclusivelyon on-hold users, the simulation operation in step 254 accounts for thevirtual queue. The simulation operations are similar to existingsimulation techniques, but also include accounting for the virtualqueue.

Therein, step 256 includes simulating a metering of the call arrivaldataset for a metered wait time based at least on a queuing factor. Asdescribed in further detail herein relating to the operation of avirtual queuing system, the queuing factor provides for determining arate of passing customers through the virtual queue prior to call backoperations. For example, the queuing factor may be based on theestimated wait time, may be based on user information associated withcallers, may be based on a patience factor, or any other suitablefactor(s). The simulation of the metering of step 256 simulates theoperations described herein relating to the virtual queuing system.

Step 258 provides for generating a simulation output indicating the callcenter operations applicable to the call arrival dataset processed viathe main queue and the virtual queue. The simulation output can provideongoing statistical display for the user to view the call centeroperations, where the statistics relate to call center metrics. FIG. 5illustrates a sample screenshot of a moment in time of a simulation,including the display of various statistics based on call centermetrics. For example, the display includes an ongoing number of receivedcalls, the elapsed time of the simulation, the number of virtuallyqueued calls, and other statistics. Also visible is a graphicalrepresentation of the main queue having a number of pending callers, thevirtual queue having a number of users awaiting callbacks and thepriority queue. Also illustrated is a representation of the agents andwhether the agent is engaged with a caller.

In one embodiment, the simulation can run at an accelerated pace tobetter illustrate the call center operations over the time period. Inone embodiment, the simulation runs at a pace of every one minute in thesimulation display represents sixty minutes of call center activities.It is recognized that any suitable correlation of call center operationtime to simulation display time can be utilized to accelerate thesimulation.

FIG. 6 illustrates a sample screenshot of a graphical display of thesimulation in progress. As the simulation continues, the simulationinformation is tracked with graphical information illustrating the callcenter metrics, as well as virtual queue functionality.

Therein, simulation operations and associated graphical display allowfor users to simulation call center operations, where such simulationstake into account the virtual queue operations described herein.

Referring now to FIGS. 7 and 8, in some embodiments, the virtual queuingsystem 104 is configured to call the customer back prior to calling thecall center. In such embodiments, the virtual queuing system 104 maymaintain the virtual queue 150 as discussed above, and the call centermay maintain a priority queue 300, in which the call back calls areplace, in addition to a main queue 302. As discussed in more detailbelow, the virtual queuing system 104 may be configured to call thecustomer back first and, upon successfully reaching the customer, callthe call center to place the customer in the priority queue 300.

As shown in FIG. 8, the virtual queuing system 104 may execute a method400 for providing virtual queuing in the embodiment of FIG. 7. Themethod 400 begins with block 402 in which the virtual queuing system 104receives a call back request from the customer. As discussed above withregard to FIG. 1, the virtual queuing system 104 may receive the callback request as a SMS message from the customer communication device 102via the SMS interface 120 (e.g., a customer may text a call backnumber), as a web-based request from the customer communication device102 via the web interface 122, or as another type of call back requestfrom the customer communication device 102 via the additional interface124.

In block 404, the virtual queuing system 104 receives or otherwiseretrieves customer information. Again, such customer information mayinclude, for example, the customer's name, preferred callback phonenumber, desired callback time, customer ID, order ID, customer recordnumber, summary of the customer's question, product information relatedto the customer's question or issue, and/or other information related tothe customer's call. In some embodiments, some of the customerinformation may be stored in the virtual queuing system 104 and/or thecall center 106.

In block 406, the virtual queuing system 104 meters the customer's callback call based on a queuing factor. The queuing factor can be afunction of one or more of various criteria such as the estimated waittime at the call center 106, a patience factor, or other variable asdiscussed above. Additionally, in some embodiments, the virtual queuingsystem 104 may consider additional account factors such as how manycalls are already in the priority queue 300 and how many calls areactive (i.e., an agent has answered the call) that have originated fromthe virtual queuing system 104. Taking such factors into account, thevirtual queuing system 104 may effectively control the flow of callsinto the priority queue 300 such that the customer who has been calledback is required to wait only a short duration in the priority queue300. Such flow-control also allows for savings of the telco capacity andusage (e.g., call minutes used).

After expiration of the metered wait time, the virtual queuing system104 calls the customer back at the provided call back number in block408. Again, the virtual queuing system 104 may reattempt the call apredetermined number of times if the customer is not available and/orleave a pre-recorded voicemail message if a customer's voicemail isreceived.

If, however, the customer is reached in block 410, the virtual queuingsystem 104 places a call into the call center 106 in block 412. To doso, the virtual queuing system 104 may place the call into the alternateDNIS 132 and/or place the call into the call center 106 using the SIPaddress 134 rather than a Direct Inward Dialing (DID) number of the callcenter. In some embodiments, the virtual queuing system 104 may submitthe customer information to the call center 106 in block 414.

If the call center agent is determined to be available in block 416, thevirtual queuing system 104 bridges the customer and the call centeragent in block 218. As discussed above, the virtual queuing system 104may play a pre-recorded audio introduction that is customized for aparticular call center prior to connecting the customer to the callcenter agent. Additionally, the customer may reengage the virtual queueat any time during the call back call. Further, the agent mayautomatically reengage the call by selecting a predefined key orsequence of keys should the call be dropped.

Referring now to FIGS. 9-14, in some embodiments, the virtual queuingsystem 104 may provide virtual queuing by “wrapping” the customer callor call center. In such embodiments, the customer may place a call tothe call center 106, which is subsequently re-routed through the virtualqueuing system 104. When the call is re-routed in this way, two separatecall legs are created. One call leg is embodied as the inbound call legfrom the customer's communication device 102 to the virtual queuingsystem 104, while the other call leg is the outbound call leg from thevirtual queuing service to the call center 106. When the two call legsare bridged by the virtual queuing system 104, the caller may interactwith the call center 106 as normal (i.e., as if the call was notre-routed through the virtual queuing system). However, because the callhas been re-routed through the virtual queuing system, the customer mayelect callback at any time during the queuing period. In this way, thecustomer's call into the call center 106 is “wrapped” by the virtualqueuing system 104.

Referring now to FIG. 9, one embodiment of such a virtual queuing“wrapper” system is shown. In such embodiment, the virtual queuingsystem 104 may include an alternate phone number 500, which may bepublished by the call center as a direct call-in number for the callcenter 106. However, instead of reaching the call center 106, thecustomer is actually calling a number that terminates at the virtualqueuing system 104. The virtual queuing system 104 maintains the virtualqueue 150, which is populated from the main queue 302 of the call center106 when a customer opts for a call back.

As shown in FIG. 10, the virtual queuing system 104 may execute a method600 for providing virtual queuing in the embodiment of FIG. 9. Themethod 600 begins with block 602 in which the virtual queuing system 104determines whether a customer call is received. As discussed above, thecustomer may call into the alternate phone number 500 that terminates atthe virtual queuing system 104. If a customer call is received on thealternate phone number 500, the method advances to block 604 in whichthe customer is connected to the call center 106. To do so, thecustomer's call may be placed in the main queue 302 of the call center106 and answered by an agent of the call center 106 in the order of themain queue 302. However, because the customer call has been “wrapped” bythe virtual queuing system 104, the customer may opt to receive acallback at any time (e.g., by selecting a predefined key or sequence ofkeys). As such, if the customer waits in the main queue 302 for sometime, the customer may decide to receive a callback rather than continuewaiting in the main queue 302. Alternatively, in other embodiments, thecustomer may simply abandon the call without having pressed anypredefined key or key sequence to request a callback. In suchembodiments, the virtual queuing system 104 assumes the queue spot ofthe abandoned call in the main queue 302 of the call center 106. Suchembodiments may be referred to as “zero-abandon” systems because thecall center 106 is able to easily recover would-be abandoned callers.

If the customer does request to receive a callback in block 606, themethod 600 advances to block 608 in the virtual queuing system 104receives or otherwise retrieves customer information. As discussed abovein regard to method 200 of FIG. 2, such customer information mayinclude, for example, the customer's name, preferred callback phonenumber, desired callback time, customer ID, order ID, customer recordnumber, summary of the customer's question, product information relatedto the customer's question or issue, and/or other information related tothe customer's call. In some embodiments, some of the customerinformation may be stored in the virtual queuing system 104 and/or thecall center 106. For example, in some embodiments, the customer's nameand associated information may be stored in the virtual queuing system104 in association with the customer's contact information such that thecustomer's identification may be automatically retrieved and/orpopulated without the need of the customer supplying such information.

After the customer information is received or retrieved in block 608,the virtual queuing system 104 disconnects from the customer andmaintains the customer's call in the virtual queue 150 in block 610.Subsequently, in block 612, the virtual queuing system 104 waits for anagent of the call center 106 to be available to accept the customer'scall. Once an agent of the call center 106 becomes available, thevirtual queuing system 104 calls the customer back at the provided callback number in block 614. As discussed above with regard to method 200of FIG. 2, the virtual queuing system 104 may reattempt the call apredetermined number of times if the customer is not available and/orleave a pre-recorded voicemail message if a customer's voicemail isreceived.

If the customer is determined to be available in block 616 (i.e., thecustomer answers the call back call), the virtual queuing system 104bridges the call center agent and the customer in block 618. In someembodiments, as discussed above with regard to method 200, the virtualqueuing system 104 may playa pre-recorded audio introduction that iscustomized for a particular call center prior to connecting the customerto the call center agent. Additionally, the customer may reengage thevirtual queue at any time during the call back call. For example, if thecustomer is put on hold of an extended period of time, the customer mayopt to receive another call back when the agent has completed whatevertask has the agent occupied at that time. Further, in some embodiments,the virtual queuing system 104 may provide for dropped call callbacks.For example, if the customer's signal goes bad or suddenly drops, thecall center agent may select a predefined key or sequence of keys toautomatically redial the customer.

Referring now to FIGS. 11 and 12, in some embodiments, the customer'scall is “wrapped” by the virtual queuing system 104 in response to thecustomer's call being redirected to the virtual queuing system 104 by atelecommunications carrier system. That is, although the customer maycall the direct number of the call center 106, the customer's call maybe re-routed to the virtual queuing system 104 in response to predefinedcriteria (e.g., the volume of calls received by the call center within agiven time period, the magnitude of the estimated wait time, and/or thelike). In such embodiments, as shown in FIG. 11, the telecommunicationssystem 100 may include a telecommunications carrier system 700. Thetelecommunications carrier system 700 may be embodied as any type oftelecommunications carrier system for facilitating and managing callsbetween the customer communication device 102 and the call center 106.For example, the telecommunication carrier system 700 may be embodied asa cellular carrier system, a land-based carrier system, or a datanetwork communication system. Additionally, the telecommunicationcarrier system 700 may form a portion of the network 110 in someembodiments. The illustrative telecommunication carrier system 700includes a company customer service phone number 702. Calls received onthe service phone number 702 may be typically routed to the standardDNIS 130 of the call center 106. However, under certain circumstances(e.g., large volume of calls, high estimated wait time, etc.), thetelecommunication carrier system 700 may redirect calls from the callcenter 106 to the virtual queuing system 104. The virtual queuing system104 may subsequently provide virtual queuing services to the customer asdiscussed previously.

As shown in FIG. 12, the virtual queuing system 104 may execute a method800 for providing virtual queuing in the embodiment of FIG. 11. Themethod 800 begins with block 902 in which the virtual queuing system 104determines whether a redirected customer call is received from thetelecommunications carrier system 700. As discussed above, thetelecommunication carrier system 700 may redirect calls from the callcenter 106 to the virtual queuing system 104 under certain conditionssuch as a large volume of incoming calls to the call center 106, a highestimated wait time (EWT), and/or other criteria. If a redirected callis received by the virtual queuing system 104, the virtual queuingsystem 104 subsequently connects the customer call to the call center106 in block 804. To do so, the customer's call may be placed in themain queue 302 of the call center 106 and answered by an agent of thecall center 106 in the order of the main queue 302. However, because thecustomer call has been “wrapped” by the virtual queuing system 104, thecustomer may opt to receive a callback at any time (e.g., by selecting apredefined key or sequence of keys). As such, if the customer waits inthe main queue 302 for some time, the customer may decide to receive acallback rather than continue waiting in the main queue 302.

If the customer does request to receive a callback in block 806, themethod 800 advances to block 808 in the virtual queuing system 104receives or otherwise retrieves customer information. As discussed abovein regard to method 200 of FIG. 2, such customer information mayinclude, for example, the customer's name, preferred callback phonenumber, desired callback time, customer ID, order ID, customer recordnumber, summary of the customer's question, product information relatedto the customer's question or issue, and/or other information related tothe customer's call.

After the customer information is received or retrieved in block 808,the virtual queuing system 104 disconnects from the customer andmaintains the customer's call in the virtual queue 150 in block 810.Subsequently, in block 812, the virtual queuing system 104 waits for anagent of the call center 106 to be available to accept the customer'scall. Once an agent of the call center 106 becomes available, thevirtual queuing system 104 calls the customer back at the provided callback number in block 814. As discussed above with regard to method 200of FIG. 2, the virtual queuing system 104 may reattempt the call apredetermined number of times if the customer is not available and/orleave a pre-recorded voicemail message if a customer's voicemail isreceived.

If the customer is determined to be available in block 816 (i.e., thecustomer answers the call back call), the virtual queuing system 104bridges the call center agent and the customer in block 818. In someembodiments, as discussed above with regard to method 200, the virtualqueuing system 104 may playa pre-recorded audio introduction that iscustomized for a particular call center prior to connecting the customerto the call center agent. Additionally, the customer may reengage thevirtual queue at any time during the call back call. For example, if thecustomer is put on hold of an extended period of time, the customer mayopt to receive another call back when the agent has completed whatevertask has the agent occupied at that time. Further, in some embodiments,the virtual queuing system 104 may provide for dropped call callbacks.For example, if the customer's signal goes bad or suddenly drops, thecall center agent may select a predefined key or sequence of keys toautomatically redial the customer.

Referring now to FIGS. 13 and 14, in some embodiments, the call center106 may redirect received calls from the telecommunications carriersystem 700 to the virtual queuing system 104 automatically (i.e., forevery call) or in response to predefined criteria (e.g., the volume ofcalls received by the call center within a given time period, themagnitude of the estimated wait time, and/or the like). In suchembodiments, the call center 106 receives calls from thetelecommunication scarier system 700 via the standard DNIS 130 andredirects the calls to the virtual queuing system 104 at an automaticcall distributor (ACD) or an interactive voice response (IVR) level 900.The virtual queuing system 104 may subsequently provide virtual queuingservices to the customer as discussed previously.

As shown in FIG. 14, the virtual queuing system 104 may execute a method1000 for providing virtual queuing in the embodiment of FIG. 13. Themethod 1000 begins with block 1002 in which the virtual queuing system104 determines whether a redirected customer call is received from thecall center 106. As discussed above, the call center 106 may redirectcalls received from the telecommunications carrier system 700 to thevirtual queuing system 104 automatically or in response to certainconditions such as a large volume of incoming calls to the call center106, a high estimated wait time (EWT), and/or other criteria. If aredirected call is received by the virtual queuing system 104, thevirtual queuing system 104 subsequently connects the customer call tothe call center 106 in block 1004. To do so, the customer's call may beplaced in the main queue 302 of the call center 106 and answered by anagent of the call center 106 in the order of the main queue 302.However, because the customer call has been “wrapped” by the virtualqueuing system 104, the customer may opt to receive a callback at anytime (e.g., by selecting a predefined key or sequence of keys). As such,if the customer waits in the main queue 302 for some time, the customermay decide to receive a callback rather than continue waiting in themain queue 302.

If the customer does request to receive a callback in block 1006, themethod 1000 advances to block 1008 in the virtual queuing system 104receives or otherwise retrieves customer information. As discussed abovein regard to method 200 of FIG. 2, such customer information mayinclude, for example, the customer's name, preferred callback phonenumber, desired callback time, customer ID, order ID, customer recordnumber, summary of the customer's question, product information relatedto the customer's question or issue, and/or other information related tothe customer's call.

After the customer information is received or retrieved in block 1008,the virtual queuing system 104 disconnects from the customer andmaintains the customer's call in the virtual queue 150 in block 1010.Subsequently, in block 1012, the virtual queuing system 104 waits for anagent of the call center 106 to be available to accept the customer'scall. Once an agent of the call center 106 becomes available, thevirtual queuing system 104 calls the customer back at the provided callback number in block 1014. As discussed above with regard to method 200of FIG. 2, the virtual queuing system 104 may reattempt the call apredetermined number of times if the customer is not available and/orleave a pre-recorded voicemail message if a customer's voicemail isreceived.

If the customer is determined to be available in block 1016 (i.e., thecustomer answers the call back call), the virtual queuing system 104bridges the call center agent and the customer in block 1018. In someembodiments, as discussed above with regard to method 200, the virtualqueuing system 104 may playa pre-recorded audio introduction that iscustomized for a particular call center prior to connecting the customerto the call center agent. Additionally, the customer may reengage thevirtual queue at any time during the call back call. For example, if thecustomer is put on hold of an extended period of time, the customer mayopt to receive another call back when the agent has completed whatevertask has the agent occupied at that time. Further, in some embodiments,the virtual queuing system 104 may provide for dropped call callbacks.For example, if the customer's signal goes bad or suddenly drops, thecall center agent may select a predefined key or sequence of keys toautomatically redial the customer.

Referring now to FIGS. 15 and 16, in some embodiments, the call center106 may initially receive the customer's direct call and provide theoption of virtual queuing during such call (e.g., prior to queuing or atthe start of the queue). If a customer selects virtual queuing, the callcenter 106 may transfer the call to the virtual queuing system 104. Todo so, the call center 106 may transfer the call to a pre-designed phonenumber or direct inward dial (DID) number 1100 maintained by the virtualqueuing system 104 or via use of another API 1100 provided by thevirtual queuing system 104. The virtual queuing system 104 maysubsequently provide virtual queuing services to the customer asdiscussed below.

As shown in FIG. 16, the virtual queuing system 104 may execute a method1200 for providing virtual queuing in the embodiment of FIG. 11. Themethod 1200 begins with block 1002 in which the virtual queuing system104 determines whether a transferred customer call is received from thecall center 106. As discussed above, the call center 106 may transfercustomer calls in response to the customer selecting the virtual queuingservice (e.g., the customer may select a predefined key or sequence ofkeys). If a transferred call is received by the virtual queuing system104, the virtual queuing system 104 subsequently receives or otherwiseretrieves customer information in block 1204. As discussed above inregard to method 200 of FIG. 2, such customer information may include,for example, the customer's name, preferred callback phone number,desired callback time, customer ID, order ID, customer record number,summary of the customer's question, product information related to thecustomer's question or issue, and/or other information related to thecustomer's call.

After the customer information is received or retrieved in block 1204,the virtual queuing system 104 disconnects from the customer andmaintains the customer's call in the virtual queue 150 in block 1206.Subsequently, in block 1208, the virtual queuing system 104 meters thecustomer's call back call as a function of various criteria such as theestimated wait time at the call center 106, a patience factor, or othervariable as discussed above with regard to method 200 of FIG. 2. Afterexpiration of the metered wait time, the virtual queuing system 104calls the customer back at the provided call back number in block 1210.Again, the virtual queuing system 104 may reattempt the call apredetermined number of times if the customer is not available and/orleave a pre-recorded voicemail message if a customer's voicemail isreceived.

If, however, the customer is reached in block 1210, the virtual queuingsystem 104 places a call into the call center 106 in block 1214. To doso, the virtual queuing system 104 may place the call into the alternateDNIS 132 of the call center 106. In some embodiments, the virtualqueuing system 104 may submit the customer information to the callcenter 106 in block 1216.

If the call center agent is determined to be available in block 1218,the virtual queuing system 104 bridges the customer and the call centeragent in block 1220. As discussed above, the virtual queuing system 104may play a pre-recorded audio introduction that is customized for aparticular call center prior to connecting the customer to the callcenter agent. Additionally, the customer may reengage the virtual queueat any time during the call back call. Further, the agent mayautomatically reengage the call by selecting a predefined key orsequence of keys should the call be dropped.

While the disclosure has been illustrated and described in detail in thedrawings and foregoing description, such an illustration and descriptionis to be considered as exemplary and not restrictive in character, itbeing understood that only illustrative embodiments have been shown anddescribed and that all changes and modifications consistent with thedisclosure and recited claims are desired to be protected.

What is claimed is:
 1. A method for call center simulation, the callcenter having a main queue associated therewith, the method comprising:receiving a plurality of input parameters relating to call centeroperations, wherein the call center operations include processingon-hold calls in the main queue and processing a plurality of call backrequests in a virtual queue; generating a call arrival dataset based atleast on the plurality of input parameters across a time sequence;simulating call center operations for managing the call arrival datasetwith the virtual queue; simulating a metering of the call arrivaldataset in the virtual queue for a metered wait time based at least on aqueuing factor, wherein the metered wait time may be different from anon-hold wait time of the main queue; and generating a simulation outputindicating the call center operations applicable to the call arrivaldataset processed via the main queue and the virtual queue.
 2. Themethod of claim 1, wherein the input parameters include at least one of:a number of call center agents; a number of calls; and an average handletime.
 3. The method of claim 2 further comprising: receiving a userinput adjustment of at least one of the input parameters; and simulatingthe call center operations based thereon.
 4. The method of claim 1,wherein the input parameters include a virtual queue selection factordetermining the plurality of call back requests.
 5. The method of claim1 further comprising: adjusting the queuing factor relating to themetering of the call arrival dataset in the virtual queue; andsimulating the call center operations based thereon.
 6. The method ofclaim 1 further comprising: distributing the incoming call times of thecall arrival dataset using a distribution algorithm.
 7. The method ofclaim 6 further comprising: adjusting the distribution of the incomingcall times based on at least one adjustments in a call center operation,including adjustment for representing at least one of a high volume calltime and a low volume call time.
 8. The method of claim 1 furthercomprising: generating a plurality of statistics for one or more callcenter metrics based on the simulating of call center operations.
 9. Themethod of claim 1, wherein the generating the simulation output includesgenerating a graphical representation of operations of the call centerincluding graphical representations of main queue processing, virtualqueue processing and call center agent engagement activities.
 10. Themethod of claim 9, further comprising: generating the graphicalrepresentation of the call center at an operational rate of sixtyminutes of real time operation in one minute of simulation display. 11.A system for call center simulation, the call center having a main queueassociated therewith, the system comprising: at least one processingdevice; and a computer readable medium having executable instructionsstored therein, such that the processing device is, in response to theexecutable instructions, operative to: receive a plurality of inputparameters relating to call center operations, wherein the call centeroperations include processing on-hold calls in the main queue andprocessing a plurality of call back requests in a virtual queue;generate a call arrival dataset based at least on the plurality of inputparameters across a time sequence; simulate call center operations formanaging the call arrival dataset with the virtual queue; simulate ametering of the call arrival dataset in the virtual queue for a meteredwait time based at least on a queuing factor, wherein the metered waittime may be from an on-hold wait time of the main queue; and generate asimulation output indicating the call center operations applicable tothe call arrival dataset processed via the main queue and the virtualqueue.
 12. The system of claim 11, wherein the input parameters includeat least one of: a number of call center agents; a number of calls; andan average handle time.
 13. The system of claim 12, the processingdevice further operative to: receive a user input adjustment of at leastone of the input parameters; and simulate the call center operationsbased thereon.
 14. The system of claim 11, wherein the input parametersinclude a virtual queue selection factor determining the plurality ofcall back requests.
 15. The system of claim 11, the processing devicefurther operative to: adjust the queuing factor relating to the meteringof the call arrival dataset in the virtual queue; and simulate the callcenter operations based thereon.
 16. The system of claim 11, theprocessing device further operative to: distribute the incoming calltimes of the call arrival dataset using a distribution algorithm. 17.The system of claim 16, the processing device further operative to:adjust the distribution of the incoming call times based on at least oneadjustments in a call center operation, including adjustment forrepresenting at least one of a high volume call time and a low volumecall time.
 18. The system of claim 11, the processing device furtheroperative to: generate a plurality of statistics for one or more callcenter metrics based on the simulating of call center operations. 19.The system of claim 11, wherein the generating the simulation outputincludes generating a graphical representation of operations of the callcenter including graphical representations of main queue processing,virtual queue processing and call center agent engagement activities.20. The system of claim 19, the processing device further operative to:generate the graphical representation of the call center at anoperational rate of sixty minutes of real time operation in one minuteof simulation display.